package com.tencent.sr.iris.activity.dependency.dto.group;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

/**
 * 团长任务-导师身份-二级页面
 */
@Data
public class AdvisorBoardSecondDTO {

    /**
     * id
     */
    @JSONField(name = "task_user_join_record_id")
    private Integer taskUserJoinRecordId;

    /**
     * 报名时间
     */
    @JSONField(name = "task_phase_join_time")
    private String taskPhaseJoinTime;

    /**
     * 全部邀新人数
     */
    @JSONField(name = "total_invite_user_num")
    private Integer totalInviteUserNum;

    /**
     * 有效邀新人数
     */
    @JSONField(name = "valid_invite_user_num")
    private Integer validInviteUserNum;

    /**
     * 预估奖励金
     */
    @JSONField(name = "predict_award_amount")
    private Long predictAwardAmount;

    /**
     * 实际奖励金
     */
    @JSONField(name = "award_amount")
    private Long awardAmount;

    /**
     * 审核状态
     * (0.待审核 1.未完成,2审核中,3.审批驳回,4.审核通过)
     */
    @JSONField(name = "audit_status")
    private Integer auditStatus;

    @JSONField(name = "wechat_user")
    private TaskWechatUserDTO taskWechatUser;

    /**
     * 实时进度
     */
    @JSONField(name = "task_phase_bonus_rule")
    private TaskPhaseBonusRuleDTO taskPhaseBonusRule;

    @JSONField(name = "task_phase")
    private TaskPhaseDTO taskPhase;

    @JSONField(name = "area")
    private Long areaId;

    //佣金回滚
    /**
     * 实际奖励订单数
     */
    @JSONField(name = "valid_order_num")
    private Integer validOrderNum;

    /**
     * 预估奖励订单数
     */
    @JSONField(name = "predict_valid_order_num")
    private Integer predictValidOrderNum;

    //团推团
    /**
     * 全部下级见习会员
     */
    @JSONField(name = "count_promote_wechat_user_num")
    private Integer countPromoteWechatUserNum;

    /**
     * 全部特邀高级下级
     */
    @JSONField(name = "count_promote_senior_wechat_user_num")
    private Integer countPromoteSeniorWechatUserNum;

    /**
     * 贡献中下级见习会员
     */
    @JSONField(name = "count_promote_wechat_user_num_contributing")
    private Integer countPromoteWechatUserNumContributing;

    /**
     * 全部特邀超级下级
     */
    @JSONField(name = "count_promote_super_wechat_user_num")
    private Integer countPromoteSuperWechatUserNum;

    /**
     * 当月预估奖励金(特邀)/当月预估奖励金(普通)
     */
    @JSONField(name = "sum_month_predict_award_amount")
    private Long sumMonthPredictAwardAmount;

    /**
     * 累计实际奖励金(特邀),累计派发奖励金(普通)
     */
    @JSONField(name = "sum_promote_commission_fee")
    private Long sumPromoteCommissionFee;

    /**
     * 当月实际奖励金(普通、特邀)
     */
    @JSONField(name = "sum_month_award_amount")
    private Long sumMonthAwardAmount;

    /**
     * 当月累计销售额(普通)
     */
    @JSONField(name = "sum_month_valid_gmv")
    private Long sumMonthValidGmv;

    /**
     * 累计销售额
     */
    @JSONField(name = "sum_valid_gmv")
    private Long sumValidGmv;

    /**
     * 当月收益
     */
    @JSONField(name = "sum_month_valid_commission_bill_commission_fee")
    private Long sumMonthValidCommissionBillCommissionFee;

    /**
     * 累计收益
     */
    @JSONField(name = "sum_valid_commission_bill_commission_fee")
    private Long sumValidCommissionBillCommissionFee;

    //排行榜任务
    //排名
    @JSONField(name = "rank_num")
    private Integer rankNum;

    //有效销售额
    @JSONField(name = "valid_gmv")
    private Long validGmv;

    //佣金金额
    @JSONField(name = "valid_commission_bill_commission_fee")
    private Long validCommissionBillCommissionFee;

    //奖品类型(1.奖励金 2.实物)
    @JSONField(name = "award_type")
    private Integer awardType;

    //排行榜配置
    @JSONField(name = "rank_award_config")
    private RankAwardConfigDTO rankAwardConfig;

    //GMV冲刺赛/销量冲刺赛
    /**
     * 有效销售件数（指定商品销量任务）
     */
    @JSONField(name = "valid_goods_num")
    private Integer validGoodsNum;

    //特邀会员冲刺赛
    /**
     * 导师id
     */
    @JSONField(name = "advisor_uid")
    private String advisorUid;

    /**
     * 特邀团长等级
     */
    @JSONField(name = "user_level")
    private String userLevel;

    /**
     * 贡献阶段
     */
    @JSONField(name = "stage_num")
    private Integer stageNum;

    @JSONField(name = "task_user_join_record")
    private TaskUserJoinRecordDTO taskUserJoinRecordDTO;

    @JSONField(name = "task_user_cycle_performance_id")
    private String taskUserCyclePerformanceId;
}
